草庐IT

c++ - std::iterator、指针和 VC++ 警告 C4996

全部标签

c# - 如何禁用特定文件的特定编译器警告

背景我正在从事一个小型编码项目,该项目将出售给其他公司。我需要为它创建一些文档,所以我决定使用SandcaSTLe。在花了很长时间下载和安装之后,我终于让它工作了,并注意到任何没有注释的公共(public)方法或类都有红色文本,说明缺少注释。然后我安装了Ghostdoc来帮助加快我的评论速度。这打开了缺少xml注释的编译器警告,这很棒,因为我现在有了一个包含我需要注释的所有内容的列表。问题我的一个代码文件是一个自动生成的文件,其中包含大约3000个编译器警告。我需要能够跳过该文件以创建任何“缺少Xml注释”编译器警告。我从this知道这些事情帖子:我知道我可以关闭项目的编译器警告,但项

c# - 如何抑制整个命名空间文件的 StyleCop 警告

我使用的是StyleCop4.7版。全局抑制不适用于所选命名空间的每个成员。我在同一个命名空间(StyleCopSample.Test)中有两个文件。当我在第一个文件中设置抑制消息时,消息只针对这个文件抑制,但第二个文件仍然收到警告。第一个文件的内容:[assembly:SuppressMessage("CSharp.DocumentationRules","*",Scope="Namespace",Target="StyleCopSample.Test")]namespaceStyleCopSample.Test{classTestFirst{}}第二个文件的内容:namespace

c# - 在不跳过 PostSharp 的情况下在构建时安静下来 PostSharp 警告

根据推荐的PostSharp最佳实践,我在我的所有项目中都包含了PostSharp。但是,我在其中一些程序集中没有任何方面或其他转换;他们只是引用了其他确实有使用方面的项目。在构建时,我收到以下警告:Themodule'xxxxxxx.dll'doesnotcontainanyaspectorothertransformation.Forimprovedbuild-timeperformance,considerdisablingPostSharpforthismodulebysettingthecompilationsymbol(akaconstant)'SkipPostSharp'

c# - 如何在 C# 中显示指针地址?

自从我用C#编程以来,我没有做过任何指导——我的C++时代已经过去很久了。我想我应该刷新我的知识并且只是因为这里的另一个问题而和他们一起玩。我完全理解它们,但我不知道如何将指针的地址写入控制台...charc='c';chard='d';chare='e';unsafe{char*cp=&d;//HowdoIwritethepointeraddresstotheconsole?*cp='f';cp=&e;//HowdoIwritethepointeraddresstotheconsole?*cp='g';cp=&c;//HowdoIwritethepointeraddresstothe

c# - 转让所有权时如何摆脱 CA2000 警告?

以下代码生成两个CA2000警告(以及其他警告,但这不是重点)。publicsealedclassItem:IDisposable{publicvoidDispose(){}}publicsealedclassItemContainer{publicvoidAdd(Itemitem){}}publicsealedclassTest:IDisposable{privateICollectionitemCollection;privateItemContaineritemContainer;privatevoidAdd(Itemitem){itemCollection.Add(item);

c# - 大量警告是否会使 C# 编译时间变长?

我们有一个包含数千条警告的大型解决方案。如果我删除所有警告(手动或使用工具),编译解决方案的时间是否会减少?我试过将冗长级别降低到无声,但没有用。最大详细级别也没有区别。 最佳答案 不,它不会对编译时间产生重大影响。与FXCop等特殊工具不同,编译器本身不执行任何复杂的检查,因此对于它必须执行的其他逻辑而言,它是微不足道的。实际上可能会稍微降低性能的是从命令行编译时将大量消息输出到控制台窗口。在这种情况下,将输出重定向到文件是一种可能的改进。但是,修复那些生成警告的代码部分是个好主意。您最终将获得更高质量的代码库并减少一些原本更容易

c# - 如何在 Resharper 中关闭 "Qualifier ' 这个 .' is redundant"警告?

在我的代码中,我有很多this.限定符(编写Python代码的习惯),所以我在右手边有很多小的橙色警告标记,上面写着“Qualifier'this.'是多余的”。我不想删除this.限定符。如何关闭橙色警告标记? 最佳答案 对于Resharper9,它已被移动。实际上,我在Resharper8中从未注意到,因为为了清楚起见,我使用了“this”。我的问题是现在到处都是,这让我发疯。我希望这对某人有所帮助,因为我花了一些时间才找到它。 关于c#-如何在Resharper中关闭"Qualif

c# - 代码分析警告 CA2213 - 在 IDisposable 支持字段上调用 ​​Dispose()

想发布这个,即使我在写问题时想通了。将在下面发布答案。使用VS代码分析获取以下警告:WarningCA2213'DBConn'containsfield'DBConn.k__BackingField'thatisofIDisposabletype:'SqlConnection'.ChangetheDisposemethodon'DBConn'tocallDisposeorCloseonthisfield.但是我的代码确实在DBConn属性上调用了Dispose()。它不在后台吗?我还有其他类似的实例-我正在处理编译器不会抛出此警告的地方。这是下面的代码:usingSystem;usin

C# 循环 : iterating through an array

如果我有如下循环:foreach(stringpassinnewstring[]{"pass1","pass2","pass3"}){x=pass;//etc}匿名字符串数组是最初创建一次,还是每次传递都重新创建一次?我相信前者,但同事们确信这是一个等待发生的错误,因为他们说foreach循环的每次迭代都会导致创建一个新的字符串数组。VS反汇编代码表明我是对的,但我想确定。我们关注这个的原因是试图理解一个神秘的错误,该错误报告在迭代时集合已被更改。 最佳答案 根据EricLippertblog和specification,forea

c# - 警告 : The referenced component 'Microsoft.Office.Core' could not be found

在构建我的项目之一时,我收到以下警告:Warning3Cannotfindwrapperassemblyfortypelibrary"Microsoft.Office.Core".Warning4Thereferencedcomponent'Microsoft.Office.Core'couldnotbefound.奇怪的是,构建没有错误地失败了。上面的警告似乎是问题所在。在我从WindowsUpdate安装了一些Office2007更新后,就开始出现这种情况。在此之前,它构建的一切都很好。有人遇到过同样的问题吗?关于如何在不修改项目的情况下解决此问题的任何想法?